package wh.coach;

/**
 * @author hangwen
 * @date 2023/6/19
 */
public class _Wrap_UnWrap {

    public static void main(String[] args) {
        int _p_1 = 1;
//        Integer _o_1 = 1;
        Integer _o_1 = Integer.valueOf(1);
        Integer _o_2 = 1;

        //Integer会自动拆箱
//        System.out.println("_p_1 == _o_1:" + (_p_1 == _o_1));
        System.out.println("_p_1 == _o_1:" + (_p_1 == _o_1.intValue()));
        //见Integer#valueOf(int),缓存[-128，127]的Integer
        System.out.println("_o_1 == _o_2:" + (_o_1.equals(_o_2)));

        _o_1 = 128;//Integer.valueOf(128);
        _o_2 = 128;
        System.out.println("_o_1 == _o_2:" + (_o_1.equals(_o_2)));

        //思考
        Integer i = null;

        final int i1 = add_one(i);// 这行代码空指针了，可能是什么原因
        System.out.println("add_one(i):" + i1);

        //int 和 Integer的区别
    }

    private static int add_one(final int num) {
        return num + 1;
    }
}
